home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / fdimg / —‹Œêsrc.lzh / 3ddef.h next >
C/C++ Source or Header  |  1992-12-21  |  5KB  |  181 lines

  1. #include    <STDIO.H>
  2. #include    <STDLIB.H>
  3. #include    <CLASS.H>
  4.  
  5. #define        TRUE    1
  6. #define        FALSE    0
  7.  
  8. #define        NULL_FP    ((FILE *)0)
  9.  
  10. #define        KAIGYOU0    L'∇'    /* デフォルトの改行マーク 81DEH */
  11. #define        EOS        '\0'    /* 文字列の終わり */
  12. #define        CR        '\n'    /* 改行コード */
  13. #define        TAB        '\t'    /* タブコード */
  14.  
  15. #define        BODYSIZE    114
  16. #define        NIL        ((UNIT *) NULL)
  17. #define        NOT        ((UNIT *) -1)
  18.  
  19. #define        MAX_TEXT    32
  20. #define        MAX_FILE    32
  21. #define        MAX_OPTION    32
  22. #define        MAX_WINDOW    16
  23.  
  24. #define        MAXLINE        128    /* 標準的な文字列の長さ */
  25. #define        VERY_LONG_LINE    1024    /* いくら何でもこれだけあれば大丈夫だろうという長さ */
  26.  
  27. #define        BAG_LIMIT    (1024-1)    /* 袋の大きさ */
  28.  
  29. #define        XWIDTH0        96
  30. #define        YWIDTH0        32    /* 画面の大きさ */
  31.  
  32. #define        MAX_MARK    10    /* マークの数 */
  33.  
  34. typedef struct UNIT {
  35.     struct UNIT    *MAE;        /* 4 */
  36.     struct UNIT     *ATO;        /* 4 */
  37.     struct UNIT    *EXT;        /* 4 */
  38.     UWORD    LENGTH;            /* 2 */
  39.     UBYTE    BODY[BODYSIZE];        /* 114 */
  40. } UNIT;
  41.  
  42. typedef struct STRING {
  43.     UBYTE    CONTENT[MAXLINE];
  44. } STRING;
  45.  
  46. typedef struct LINE_INFORMATION {
  47.     int    BPOS;    /* byte position */
  48.     int    XPOS;    /* X座標位置 */
  49. } LINE_INFORMATION;
  50.  
  51. typedef        UBYTE *STR;
  52.  
  53. #define    MAX_COMMAND_NUMBER    160    /* コマンドの総数は160までである */
  54. #define MAX_COMMAND_STROKE    7    /* コマンドのストロークは7までである */
  55. #define    MAX_COMMAND_NAME_LENGTH    32    /* コマンドネームは32文字までである */
  56.  
  57. #define    COMMAND_UNDER_BLANC_MASK    0x00000001
  58. #define    COMMAND_ARG_LOOP_MASK        0x00000002
  59. #define    CHANGED_FLAG_MASK        0x00000004
  60.  
  61. typedef struct COMMAND_UNIT {
  62.     UWORD    COMMAND_STRING[MAX_COMMAND_STROKE+1];        /* */
  63.     UINT    COMMAND_FLAG;                    /* 実行後の処理のフラグ */
  64.     void    (*FUNCTION)();                    /* */
  65.     UBYTE    COMMAND_NAME[MAX_COMMAND_NAME_LENGTH+1];    /* */
  66. } COMMAND_UNIT;
  67.  
  68. #define    TAB_LENGTH_LIMIT    16
  69.  
  70. #define    COLUMN_MIN    16
  71. #define    COLUMN_MAX    90
  72.  
  73. #define    LYW_UPPER0    8
  74. #define    LYW_MAIN0    16
  75. #define    LYW_UNDER0    4
  76.  
  77. typedef struct WINDOW_DATA {
  78.     int WX0,WY0,WX1,WY1;
  79.     int WCX,WCY;
  80.     int WCX0;
  81.     int WCPX;
  82.     int WTEXTS;
  83.     UNIT *WHEADS;
  84.     UNIT *WTAILS;
  85. } WINDOW_DATA;
  86.  
  87. typedef struct TEXT_DATA {
  88.     int JIZUME;    /* 字詰め(半角換算)は TEXT ごと( WINDOW ごとではない!) */
  89.     int TEXT_FILE;    /* テキストに割り付けられたファイル番号 */
  90.     UNIT TEXT_HEADS,TEXT_TAILS;
  91.             /* テキストの数だけ頭、尻尾への実体を持つ */
  92.     int TAB_SIZE;    /* タブの長さ */
  93.     int CHANGED_FLAG;    /* 変更されたかどうかのフラグ */
  94.     int BAK_FLAG;    /* バックアップファイルを作るかどうかのフラグ */
  95. } TEXT_DATA;
  96.  
  97. #define    RAW0        01    /* 入力されたまま:青 */
  98. #define    CFUSI0        10    /* 現在作業中の文節:反転黄色 */
  99. #define    OFUSI0        02    /* 未確定の他の文節:黄 */
  100. #define    KAKUTEI0    03    /* 確定された文字:白 */
  101. #define    NORMAL0        03    /* 通常の文字:白 */
  102.  
  103. #define    MIZU_REV    9    /* 水色のリバース */
  104. #define    MIZU_EMPH_REV    13    /* 水色の強調・リバース */
  105.  
  106. #define    TBUFF_SIZE    1024
  107.  
  108. #define    SEG_MAX        64
  109. #define    SEG_LEN        80
  110.  
  111. #define    CWY0D    (WDATA[CWN].WY0D)
  112.  
  113. #define    CWX0    (WDATA[CWN].WX0)
  114. #define    CWY0    (WDATA[CWN].WY0)
  115. #define    CWX1    (WDATA[CWN].WX1)
  116. #define    CWY1    (WDATA[CWN].WY1)
  117. #define    CX    (WDATA[CWN].WCX)
  118. #define    CY    (WDATA[CWN].WCY)
  119. #define    CPX    (WDATA[CWN].WCPX)
  120. #define    CX0    (WDATA[CWN].WCX0)
  121. #define    CURRENT_TEXT    (WDATA[CWN].WTEXTS)
  122. #define    CURRENT_JIZUME    (TDATA[CURRENT_TEXT].JIZUME)
  123. #define    CURRENT_CHANGED    (TDATA[CURRENT_TEXT].CHANGED_FLAG)
  124. #define    CURRENT_BAK    (TDATA[CURRENT_TEXT].BAK_FLAG)
  125.  
  126. #define    change_check();    if (!CURRENT_CHANGED) {    disp_btm_changed();}
  127.  
  128. #define    LEDSTAT    0x810
  129.  
  130. #define    HDOT    24
  131. #define PRN_MAX_CHAR    136
  132. #define    PRN_PAT_H    136*3
  133. #define    PRN_PAT_V    142
  134.  
  135. #define    MACRO_MAX_STEP    128
  136.  
  137. typedef struct    FNTBUF    {
  138.     WORD    xl;
  139.     WORD    yl;
  140.     UBYTE    buffer[72];
  141. } FNTDATA;
  142.  
  143. #define    MAX_XF            0x180
  144.  
  145. #define    FEP_XF1_CODE        0x101
  146. #define    FEP_XF2_CODE        0x102
  147. #define    FEP_XF3_CODE        0x103
  148. #define    FEP_XF4_CODE        0x104
  149. #define    FEP_XF5_CODE        0x105
  150.  
  151. #define    FEP_HELP_CODE        0x106
  152. #define    FEP_TOUROKU_CODE    0x107
  153. #define    FEP_KIGOU_CODE        0x108
  154. #define    FEP_HIRAGANA_CODE    0x109
  155. #define    FEP_INS_CODE        0x10a
  156. #define    FEP_CAPS_CODE        0x10b
  157. #define    FEP_CODE_CODE        0x10c
  158. #define    FEP_ROMA_CODE        0x10d
  159. #define    FEP_KANA_CODE        0x10e
  160.  
  161. #define    FEP_DEL_CODE        0x141
  162. #define    FEP_HOME_CODE        0x142
  163. #define    FEP_CLR_CODE        0x143
  164. #define    FEP_DNARROW_CODE    0x144
  165. #define    FEP_RIGHTARROW_CODE    0x145
  166. #define    FEP_UPARROW_CODE    0x146
  167. #define    FEP_LEFTARROW_CODE    0x147
  168. #define    FEP_UNDO_CODE        0x148
  169. #define    FEP_ROLLDN_CODE        0x149
  170. #define    FEP_ROLLUP_CODE        0x14a
  171.  
  172. typedef struct {
  173.     struct UNIT    *LP;
  174.     UWORD        BP;
  175.     int        PN;
  176. } PM_UNIT;
  177.  
  178. #define    MAX_TB    78
  179.  
  180.  
  181.